package com.googlecode.derby.customize;

import java.util.Map;
import java.util.WeakHashMap;

/**
 * SQL・プロシジャーにて取得されたOUTデータの格納クラス.
 *
 * @author o.tanaka
 * @version 2009/12/11
 */
public class OutData {

    private Map<Integer, Object> mapData;

    /**
     * 項目データを一緒に生成する。（WeakHashMap）.
     */
    public OutData() {
        this.mapData = new WeakHashMap<Integer, Object>();
    }

    /**
     * 生成済みの項目データをセットする.
     *
     * @param theMapDatas
     *            取得された項目データのセット（WeakHashMap）
     */
    public OutData(final WeakHashMap<Integer, Object> theMapDatas) {
        this.mapData = theMapDatas;
    }

    /**
     * 指定された項目列のデータを取得する.
     *
     * @param theKey
     *            項目名
     * @return 項目列名にセットされているデータ
     */
    public final Object getData(
            final Integer theKey) {
        return this.mapData.get(theKey);
    }

    /**
     * @return 項目データの取得
     */
    public final Map<Integer, Object> getMapDatas() {
        return this.mapData;
    }

    /**
     * 指定された項目列にデータをセットする.
     *
     * @param theKey
     *            項目名
     * @param theData
     *            値
     */
    public final void setData(
            final Integer theKey,
            final Object theData) {
        this.mapData.put(theKey, theData);
    }

    /**
     * @param theMapDatas
     *            取得された項目データのセット（Map）
     */
    public final void setDatas(final Map<Integer, Object> theMapDatas) {
        this.mapData = theMapDatas;
    }

}
